{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "view-in-github"
   },
   "source": [
    "<a href=\"https://colab.research.google.com/github/abey79/vsketch/blob/master/examples/google_colab.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "fie8YrVfRT-U"
   },
   "source": [
    "### info"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "y4u_kroEQFkP"
   },
   "source": [
    "This notebook is a basic setup for running [vsketch](https://github.com/abey79/vsketch) on Google Colab. Execute the following line once to setup vsketch in the notebook.\n",
    "\n",
    "Notebook made by [dark fractures.](https://www.darkfractures.com)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "ojK154g7bGlq"
   },
   "outputs": [],
   "source": [
    "!pip install git+https://github.com/abey79/vsketch#egg=vsketch[colab]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "B8G7B0v0QToC"
   },
   "source": [
    "### sketch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "BvYUlUXXbsod"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTRg2JEmSJDVh2JAkSZLUhGFDkiRJUhOGDUmSJElNGDYkSZIkNWHYkCRJktSEYUOSJElSE4YNSZIkSU0YNiRJkiQ1YdiQJEmS1IRhQ5IkSVIThg1JkiRJTaw2wr+7TUR0VogkSZKkWbdNyxefadi4dyX+2aNn+D0kSZIktfdYqxeeUdgopbwBLFiRfzYiHp3J95AkSZI03jyzIUmSJKkJw4YkSZKkJgwbkiRJkpowbEiSJElqwrAhSZIkqQnDhiRJkqQmDBuSJEmSmjBsSJIkSWoiSil91yBJkiRpArmyIUmSJKkJw4YkSZKkJgwbkiRJkpowbEiSJElqwrAhSZIkqQnDhiRJkqQm/n9okRJxP/O3jQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1008x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# example sketch, taken from the 'detail.ipynb' notebook in 'examples'.\n",
    "\n",
    "import math\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "import vsketch\n",
    "\n",
    "vsk = vsketch.Vsketch()\n",
    "vsk.size(\"a5\", landscape=True)\n",
    "vsk.scale(\"1cm\")\n",
    "\n",
    "# high level of detail\n",
    "vsk.detail(\"0.1mm\")\n",
    "vsk.circle(0, 0, 1)\n",
    "vsk.circle(0, 0, 2)\n",
    "with vsk.pushMatrix():\n",
    "    vsk.scale(4)\n",
    "    vsk.circle(0, 0, 1)\n",
    "\n",
    "# rough level of detail\n",
    "vsk.translate(7, 0)\n",
    "vsk.detail(\"5mm\")\n",
    "vsk.circle(0, 0, 1)\n",
    "vsk.circle(0, 0, 2)\n",
    "with vsk.pushMatrix():\n",
    "    vsk.scale(4)\n",
    "    vsk.circle(0, 0, 1)\n",
    "\n",
    "# hardly usable level of detail\n",
    "vsk.translate(7, 0)\n",
    "vsk.detail(\"2cm\")\n",
    "vsk.circle(0, 0, 1)\n",
    "vsk.circle(0, 0, 2)\n",
    "with vsk.pushMatrix():\n",
    "    vsk.scale(4)\n",
    "    vsk.circle(0, 0, 1)\n",
    "\n",
    "vsk.display()\n",
    "vsk.save(\"detail.svg\")"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "authorship_tag": "ABX9TyNAi8qOcsII0PnLQoW+oo1T",
   "collapsed_sections": [
    "fie8YrVfRT-U"
   ],
   "include_colab_link": true,
   "name": "vsketch_google_colab_basic_setup",
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
